1. Field of the Invention
The invention concerns a data processing machine network architecture and more particularly relates to the load balancing of data servers. In the absence of a specific term, data processing machine is intended herein to mean a physically constituted machine such as, for example, a computer.
2. Description of the Related Art
A data processing server makes it possible to offer a set of services to users using client machines connected to the server by means of networks whose interconnection constitutes a wide area network (WAN). An increasing number of users makes it possible to reduce the costs of developing the services offered by dividing these costs among the various users. However, this increasing number of users makes it necessary to increase the load-carrying capacity of the server. On the other hand, in order to satisfy the users, the server must offer a certain reliability in the provision of these services, for example in terms of fault tolerances.
While a server constituted by one data processing machine makes it possible to provide an initial work load carrying capacity, providing there is no failure of this machine, it is possible to obtain a certain reliability by adding a second data processing machine which is available to act as a backup to the initial machine in case of a failure of the initial machine. The initial machine in turn becomes available as a backup machine after its repair.
The prior art offers various solutions for using a backup machine to take over for a malfunctioning machine, such as active replications or passive replications of executable applications in these machines in order to provide the services requested within the limits of the given work load. However, the use of a second machine makes it necessary to consequently increase the hardware investment, which inevitably has repercussions on the costs of the services offered, while the backup machine remains unused in the absence of any failures of the initial machine.
While a server constituted by one data processing machine makes it possible to provide an initial work load carrying capacity, it is possible to increase this initial load-carrying capacity by adding a second data processing machine and balancing the work load between the initial machine and the second machine, which function simultaneously.
In order to obtain a certain reliability of the server with increased load-carrying capacity, a backup machine could be added to each machine sharing the new load-carrying capacity. This would present the drawback of multiplying the hardware investment cost by four. One solution for limiting the resulting hardware investment increase is to add only two machines to the initial machines, a first machine for increasing the load-carrying capacity and a second machine for serving as a backup in case of a failure of the initial machine or the first machine for increasing the load-carrying capacity.
The addition of these two machines in order to constitute a server thus makes it possible to increase its capacity and to obtain a certain reliability of the server.
It is known that each data processing machine connected to a local area network (LAN) has a physical address which makes it possible to physically distinguish it within this local area network. This physical address is known in the literature as a MAC (English abbreviation for Medium Access Control) address. This address essentially needs to be known by the protocol belonging to the local area network which sends data packets of a message destined for a specific machine in question. Each local area network has its own protocol, of the type known as Ethernet, Token Ring or another protocol, adapted to its hardware configuration. The exchange of messages with machines in other remote local area networks connected by means of a wide area network (WAN) requires a higher protocol layer which identifies each machine by means of an address such as, for example, that commonly referred to in the literature as an IP address, IP meaning inter-network protocol generally and Internet Protocol, when referring to the global network known as the Internet. The following explanations refer to the IP protocol layer, but they could be re-transcribed to refer to other protocol layers of the same level such as, for example, DECNET or SNA. This makes it possible to dispense with the disparity in the protocols and hardware configurations of the local area networks. The knowledge of the IP address of a machine is therefore sufficient to identify this machine in the wide area network. A router comprises a translation table which makes it possible to correspond an IP address with a MAC address for each machine belonging to the local area network it manages. The machines directly connected to the same local area network could communicate by means of their MAC addresses. However, in order to render transparent to the application layers the fact that the machines belong to the local area network or to the wide area network, it is preferable to have them communicate by means of their IP addresses in the local area network. Each machine therefore comprises a translation table similar to that of the router in the local area network. Several different IP addresses can correspond to the same MAC address, making it possible to see the same physical machine as several distinct virtual machines. On the other hand, the reverse is not true, since if several MAC addresses were to correspond to the same IP address, in the end the router would not know to which physical machine to send a data packet.
In order to embody a server by means of three data processing machines as previously desired, the possibility is available to one skilled in the art to assign to the address of each machine MAC1, MAC2, MAC3, an address IP1, IP2, IP3 in the router which manages a local area network to which these three machines belong. By authorizing a subsystem of client machines in the wide area network to access the server using the address IP1, and an additional subsystem to access the server using the address IP2, one skilled in the art can effect a load balancing in the two machines constituting the server with the addresses MAC1 and MAC2. The machine with the address MAC3 then remains available as a backup machine. If, for example, the machine with the address MAC2 has a fault, it suffices to assign the address IP2 to the machine 3 and in the router, to correspond the address IP2 with the address MAC3, while naturally taking the necessary precautions involved in switching from the machine with the address MAC2 to the machine with the address MAC3.
The solutions that can be envisaged from the general knowledge of one skilled in the art, however, have the drawback of requiring a hardware investment in two additional machines in order to simultaneously fulfill the need for an increase in load-carrying capacity and the need for reliability.